This invention relates to a processing request allocator in a distributed computing system.
There is known a distributed computing system in which a plurality of computers and terminals are coupled by communication channels and the communication between the computers and the sharing in processing service requests between the computers are made so that the overall performance and availability of the system are enhanced. This conventional distributed computing system interprets the names of a program and file necessary for the execution of each service request issued from the terminals or computers, and allots the service request to a computer having such program or file. In this case, a plurality of computers may have such necessary program or file. The decision of which computer the service request is allotted to affects not only the response time to the service request, but also the performance of the whole distributed computing system. In the prior art, any one of the following systems have been used:
(1) When a plurality of computers can process a service request, the problem of which computer the request is to be allotted to is decided by an operator or on the basis of predetermined operational rules.
(2) Each service request is moved along a constant path within the distributed computing system and processed at the first computer which can process the service request on the path.
These systems cannot take into consideration the current load level of each computer or the communication delay at each computer in its decision of allotment. Therefore, there are drawbacks that (1) unequal loads may be applied to the computers, resulting in unfair response time to service requests, (2) the loads to some computers may be too low and thus the utilization efficiency thereof may be lowered, and (3) some service requests may be allotted to computers requiring too long a communication delay and thus the response time may be too long.